package com.sunyur.tailor.channel.service.inner.inventory.service;


import com.sunyur.tailor.channel.common.middle.base.ChannelResult;
import com.sunyur.tailor.channel.service.inner.inventory.model.InventoryBookModel;
import com.sunyur.tailor.channel.service.inner.inventory.param.InventoryParam;
import com.sunyur.tailor.channel.service.inner.inventory.param.InventoryReleaseOrReduceParam;
import com.sunyur.tailor.channel.service.inner.inventory.param.InventorySelectParam;

import java.util.List;

/**
 * @ClassName InventoryService
 * @Description 库存台账相关接口
 * @Author xuhui
 * @Date 2021/6/21 17:15
 * @Version 1.0
 */
public interface SunyurInventoryService {
    /**
     * @Author XuHui
     * @Description 28-物料库存台账，批量创建接口（一次请求最大支持100条数据）
     * @Wiki http://doc.sunyur.com/pages/viewpage.action?pageId=159252579
     * @Date 15:53 2021/12/29
     **/
    ChannelResult batchInsert(List<InventoryParam> inventoryParamList) throws Exception;

    /***
     * @Author xuhui
     * @Description 36-物料库存台账，查询接口(一次查询最大支持返回100条数据)
     * @Wiki http://doc.sunyur.com/pages/viewpage.action?pageId=215155040
     * @Date 18:18 2021/6/21
     **/
    ChannelResult<List<InventoryBookModel>> listInventoryBookByParam(List<InventorySelectParam> inventorySelectParamList) throws Exception;

    /***
     * @Author xuhui
     * @Description 31-物料库存台账，批量加库存接口（一次请求最大支持100条数据）
     * @Wiki http://doc.sunyur.com/pages/viewpage.action?pageId=185074056
     * @Date 22:52 2021/6/21
     **/
    ChannelResult batchRelease(InventoryReleaseOrReduceParam inventoryReleaseOrReduceParam) throws Exception;

    /***
     * @Author xuhui
     * @Description 30-物料库存台账，批量减库存接口（一次请求最大支持100条数据）
     * @Wiki http://doc.sunyur.com/pages/viewpage.action?pageId=185074050
     * @Date 23:01 2021/6/21
     **/
    ChannelResult batchReduce(InventoryReleaseOrReduceParam inventoryReleaseOrReduceParam) throws Exception;
}
